package main

import "fmt"

//切片，动态变化的数组
func main() {
	var intArr [5]int = [...]int{1, 22, 33, 566, 9}
	//引用intArr数组的起始下标 为1 ，终止下标为3 但不包含 3
	slice := intArr[1:3]
	fmt.Println(slice)
	fmt.Println("slice的元素个数:", len(slice))
	//容量可以动态变化
	fmt.Println("slice的容量", cap(slice))

	//通过内置函数make来创建切片
	// 4 是长度， 10是容量(可选)
	var slice2 []int = make([]int, 4, 10)
	fmt.Println(slice2)
	for i := 0; i < 10; i++ {
		slice2 = append(slice2, i*i)
	}
	fmt.Println(slice2)

	//切片的第三种方式
	var strSlice []string = []string{"tom", "jack", "mary"}
	fmt.Println(cap(strSlice), len(strSlice))
}
